Durable Objects
もうGAしてるんだよなmiyamonz.icon
2つの機能
グローバルな一意性
idによって一意であることを保証
データセンターにルーティングされる
トランザクションストレージAPI
durable object内にある、強整合のkey value storage
storageであり、永続化されます!
2つの機能(特徴)はどっちも大事だが
まず一意性
一意性があるからこそ、強整合に保存ができるストレージが持てる
と考えるといいのではmiyamonz.icon
Durable objects自体は、bindingでworkerと結びつけて、envから触る感じ
データセンタ上の別worker的な認識を持っておくと良さそう
やり取りはfetch apiでやる
データ
storageは強整合なkey value storage
それとは別にクラスなので、インスタンス変数上をephemeralなストアとしても使える
ただ単に、JSとして、クラスのメンバ変数としてオブジェクトをもつというだけ
接続がなくなったら自動で消える
durationのGB-sに課金されるはず
400,000 GB-s, + $12.50/million GB-s
これは他のストレージと比較すると当然高い
チャットスペースなど、一時的なものを入れておくだけにしよう
言い換えると、DOのinstanceを無限に生きながらえさせて、ずっとクソデカ変数を保持するのはやめよう
そんなことわざわざする人はいないとおもうが
Workersプラットフォームに低レイテンシーの調整と一貫したストレージを提供します。
例
Real-time collaborative document editing
atomic counter
chat
Shopping cart
game server
iot coordination
social feeds
Currently, Durable Objects do not migrate between locations after initial creation. Cloudflare will be exploring automatic migration compatibility in the future.